草庐IT

Java 8 闭包和类型识别

全部标签

javascript - 从未标记 @flow 的导入文件中获取类型定义

TL;DR如何告诉flow从未使用@flow声明的导入模块导入类型定义?更长的版本流接缝能够从不使用流语法的文件中派生类型(参见示例)。示例文件“flow.js”if(Math.random()命令'flowsuggestflow.js'if(Math.random()它还能够使用flowget-importers列出来自特定文件的所有导入。工具接缝在那里,但我无法弄清楚如何自动告诉flow从我的导入中获取类型定义,而不是用@flow声明。我希望它沿着导入链向下遍历,计算类型并在用@flow标记的文件中使用它们。我不希望它没有用@flow标记的类型检查代码,只检索类型。

javascript - 关于JavaScript中闭包/封装效率的问题

我是JavaScript的新手,如果这是一个愚蠢的问题,请多多包涵。假设我有一个看起来像这样的“类”:varobj=function(){varval;return{setVal:function(newVal){val=newVal;},getVal:function(){returnval;}};};假设我的语法是正确的,这定义了一个具有名为“值”的“私有(private)”属性的类,以及设置/获取该属性的方法。现在,我将从这个类创建两个对象:varmyObj=obj();varyourObj=obj();这是否为每个对象创建一个单独的setVal()和getVal()方法?如果不

javascript - 为什么在维度变量中无法识别 .domain、tickFormat 和 tickValues? (d3,平行坐标)

我正在使用d3.js创建一个平行坐标图,但我很难按照我的意愿格式化轴标签。例如,我的轴之一“缓冲液浓度”绘制在对数刻度上,我通过维度变量指定了它,就像这样。vardimensions=[...{key:"b.Conc",description:"BufferConcentration",type:types["Number"],scale:d3.scale.log().domain([.1,100]).range([innerHeight,0]),tickValues:[.1,.2,.4,.6,.8,1,2,4,6,8,10,20,40,60],tickFormat:d3.format

javascript - 检查变量的类型

确定变量是否为字符串(以及数字、bool值等)的最佳方法是什么?通常你会发现:functionisString(value){returntypeofvalue==='string';}但是人们忘记了也可以直接使用varfoo=newString("bar");创建字符串对象-这是否是个好主意是完全不同的事情。那么到这里怎么走呢?我可以想到-并且已经看到-各种方法(有些简化)://option1functionisString(value){return(typeofvalue==='string')||/^functionString\(\)/.test(value.construc

javascript - 未捕获的类型错误 : grid. sortedData.peek(...).filter 不是函数

我正在尝试使用KnockoutJsKOGrid进行分页。我一直在关注这个:http://knockout-contrib.github.io/KoGrid/#paging我传递到我的View模型(vm参数)的数据包含以下内容:我的knockoutView模型如下:functionViewModel(vm){varself=this;this.myData=ko.observableArray([]);this.rows=ko.observableArray(vm.Rows);this.deleteInvisibleColumns=function(){for(vari=0;iAndy我

javascript - 使用 this/self 引用的 javascript 闭包会导致内存泄漏吗?

根据我对内存泄漏的理解,在闭包中引用范围外的var会导致内存泄漏。但创建“that”var以保留“this”引用并在闭包中使用它也是一种常见的做法,尤其是对于事件。那么,做这样的事情有什么用:SomeObject.prototype.createImage=function(){varthat=this,someImage=newImage();someImage.src='someImage.png';someImage.onload=function(){that.callbackImage(this);}};这不会给项目增加一点漏洞吗? 最佳答案

javascript - 未捕获的类型错误 : Cannot call method 'on' of undefined - Backbone. js

我的应用程序出现错误,不知道为什么。UncaughtTypeError:Cannotcallmethod'on'ofundefined它发生在我的CollectionView上,遵循代码:App.WorkoutsView=Backbone.View.extend({initialize:function(){this.collection.on('add',this.addOne,this);this.collection.on('reset',this.addAll,this);},render:function(){this.addAll();returnthis;},addAll

javascript - typescript 重复类型声明

在以下情况下,我遇到了重复的Typescript类型声明问题:我的应用程序A有以下依赖关系树:A->@angular/http:2.3.1A->B->@angular/http:2.3.1A和B都由npm管理。运行后npminstall文件系统如下所示:A/node_modules/@angular/http...B/node_modules@angular/http问题似乎是现在有两种@angular/http类型的类型声明,例如Response或Headers。不知何故,Typescript转译器似乎无法处理这个问题——导致出现以下错误消息:TS2453:Thetypeargume

javascript - React Prop 类型与 Typescript

如果我在我的项目中使用typescript,那么React中prop-types的使用会过时吗?使用prop-types我将不得不经历定义类型的繁琐工作,但使用typescript,这一步将被取消。我的想法正确吗? 最佳答案 听起来不错。当您使用TypeScript时,您可以通过接口(interface)定义Prop。interfaceButtonProps{text:string,shadow?:boolean}constButton:React.FunctionComponent=props=>{return(/*[...]*/

javascript - 如何测试 Google 电子表格脚本中范围参数的类型?

我刚开始修改Google电子表格的脚本,但遇到了一个问题:如何判断函数参数的类型是否为单元格区域?我想做这样的事情:if(typeofintput!="range"){throw"inputmustbearange";}来自谷歌的例子here(页面中间):if(typeofinNum!="number"){//checktomakesureinputisanumberthrow"inputmustbeanumber";//throwanexceptionwiththeerrormessage}所以这似乎是测试变量类型的正确方法。但我不知道如何测试该类型是否是一系列单元格。如果我能指定范